using System;
using System.Linq;
using System.Linq.Expressions;

namespace Home.Site.Models.DataLayer
{
    public interface IPhotoRepository : IDisposable
    {
        IQueryable<Photo> All { get; }
        IQueryable<Photo> AllIncluding(params Expression<Func<Photo, object>>[] includeProperties);
        Photo Find(int id);
        void InsertOrUpdate(Photo photo);
        void Delete(int id);
        void Save();
        int FindByFilePath(string filePath);
    }
}